<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
  <meta name="description" content="API docs for the startPlayerFromMic method from the FlutterSoundPlayer class, for the Dart programming language.">
  <title>startPlayerFromMic method - FlutterSoundPlayer class - flutter_sound_player library - Dart API</title>


  
  <link rel="preconnect" href="https://fonts.gstatic.com">
  <link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
  <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
  
  <link rel="stylesheet" href="../../static-assets/github.css?v1">
  <link rel="stylesheet" href="../../static-assets/styles.css?v1">
  <link rel="icon" href="../../static-assets/favicon.png?v1">
  
</head>

<body data-base-href="../../" data-using-base-href="false" class="light-theme">
<div id="overlay-under-drawer"></div>
<header id="title">
  <span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="../../index.html">flutter_sound</a></li>
    <li><a href="../../public_flutter_sound_player">public&#47;flutter_sound_player.dart</a></li>
    <li><a href="../../public_flutter_sound_player/FlutterSoundPlayer-class.html">FlutterSoundPlayer</a></li>
    <li class="self-crumb"><span class="deprecated">startPlayerFromMic</span> method</li>
  </ol>
  <div class="self-name">startPlayerFromMic</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
  <div class="toggle" id="theme-button" title="Toggle brightness">
    <label for="theme">
      <input type="checkbox" id="theme" value="light-theme">
      <span id="dark-theme-button" class="material-symbols-outlined">
        dark_mode
      </span>
      <span id="light-theme-button" class="material-symbols-outlined">
        light_mode
      </span>
    </label>
  </div>
</header>
<main>
<div
    id="dartdoc-main-content"
    class="main-content"
    data-above-sidebar="public_flutter_sound_player&#47;FlutterSoundPlayer-class-sidebar.html"
    data-below-sidebar="">
    <div>
<h1><span class="kind-method">startPlayerFromMic</span> method 
</h1></div>

    <section class="multi-line-signature">
      
  <div>
    <ol class="annotation-list">
        <li>@<a href="https://api.flutter.dev/flutter/dart-core/Deprecated-class.html">Deprecated</a>(&#39;This function can very easily be emulated with a RecordToStream + a PlayFromStream&#39;)</li>
    </ol>
  </div>
<span class="returntype"><a href="https://api.flutter.dev/flutter/dart-core/Future-class.html">Future</a><span class="signature">&lt;<wbr><span class="type-parameter">void</span>&gt;</span></span>
<span class="name deprecated">startPlayerFromMic</span>(<wbr>{<ol class="parameter-list"> <li><span class="parameter" id="startPlayerFromMic-param-sampleRate"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span> <span class="parameter-name">sampleRate</span> = <span class="default-value">44000</span>, </span></li>
<li><span class="parameter" id="startPlayerFromMic-param-numChannels"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span> <span class="parameter-name">numChannels</span> = <span class="default-value">1</span>, </span></li>
<li><span class="parameter" id="startPlayerFromMic-param-bufferSize"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span> <span class="parameter-name">bufferSize</span> = <span class="default-value">8192</span>, </span></li>
<li><span class="parameter" id="startPlayerFromMic-param-enableVoiceProcessing"><span class="type-annotation">dynamic</span> <span class="parameter-name">enableVoiceProcessing</span> = <span class="default-value">false</span>, </span></li>
</ol>})

      

    </section>
    
<section class="desc markdown">
  <p>Starts the Microphone and plays what is recorded.</p>
<p>The Speaker is directely linked to the Microphone.
There is no processing between the Microphone and the Speaker.
If you want to process the data before playing them, actually you must define a loop between a <a href="../../public_flutter_sound_player/FlutterSoundPlayer-class.html">FlutterSoundPlayer</a> and a <a href="../../public_flutter_sound_recorder/FlutterSoundRecorder-class.html">FlutterSoundRecorder</a>.
(Please, look to <a href="http://www.canardoux.xyz/flutter_sound/doc/pages/flutter-sound/api/topics/flutter_sound_examples_stream_loop.html">this example</a>).</p>
<p>Later, we will implement the <em>Tau Audio Graph</em> concept, which will be a more general object.</p>
<ul>
<li><code>startPlayerFromMic()</code> has two optional parameters :
<ul>
<li><code>sampleRate:</code> the Sample Rate used. Optional. Only used on Android. The default value is probably a good choice and the App can ommit this optional parameter.</li>
<li><code>numChannels:</code> 1 for monophony, 2 for stereophony. Optional. Actually only monophony is implemented.</li>
</ul>
</li>
</ul>
<p><code>startPlayerFromMic()</code> returns a Future, which is completed when the Player is really started.</p>
<p><em>Example:</em></p>
<pre class="language-dart"><code class="language-dart">    await myPlayer.startPlayerFromMic();
    ...
    myPlayer.stopPlayer();
</code></pre>
</section>


    
<section class="summary source-code" id="source">
  <h2><span>Implementation</span></h2>
  <pre class="language-dart"><code class="language-dart">@Deprecated(
  &#39;This function can very easily be emulated with a RecordToStream + a PlayFromStream&#39;,
)
Future&lt;void&gt; startPlayerFromMic({
  int sampleRate = 44000, &#47;&#47; The default value is probably a good choice.
  int numChannels =
      1, &#47;&#47; 1 for monophony, 2 for stereophony (actually only monophony is supported).
  int bufferSize = 8192,
  enableVoiceProcessing = false,
}) async {
  await _lock.synchronized(() async {
    await _startPlayerFromMic(
      sampleRate: sampleRate,
      numChannels: numChannels,
      bufferSize: bufferSize,
      enableVoiceProcessing: enableVoiceProcessing,
    );
  });
}</code></pre>
</section>


  </div> <!-- /.main-content -->
  <div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
    <!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
<header id="header-search-sidebar" class="hidden-l">
  <form class="search-sidebar" role="search">
    <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
    <li><a href="../../index.html">flutter_sound</a></li>
    <li><a href="../../public_flutter_sound_player">flutter_sound_player</a></li>
    <li><a href="../../public_flutter_sound_player/FlutterSoundPlayer-class.html">FlutterSoundPlayer</a></li>
    <li class="self-crumb"><span class="deprecated">startPlayerFromMic</span> method</li>
</ol>

    <h5>FlutterSoundPlayer class</h5>
    <div id="dartdoc-sidebar-left-content"></div>
  </div><!--/.sidebar-offcanvas-->
  <div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
</div><!--/.sidebar-offcanvas-->
</main>
<footer>
  <span class="no-break">
    flutter_sound
      9.28.0
  </span>
  
</footer>


<script src="../../static-assets/highlight.pack.js?v1"></script>
<script src="../../static-assets/docs.dart.js"></script>

</body>
</html>

